Best Practices in Agile Software Development
نویسنده
چکیده
This report describes an investigation into best practices in agile software development. Agile software development methods represent the latest incarnation of software engineering methods designed to be user-centric, low cost, and focused on rapid delivery of high-quality software systems. This survey of empirical and theoretical studies of agile methods provides a summary of the practices found to be most effective in promoting the creation of high quality software systems using relatively flexible prescriptions in the software development process. Our review of agile development literature, case studies, and empirical findings leads us to a number of conclusions, some of which run counter to the tenets of agile development. First, organizations should take an adaptive, pragmatic approach to an agreed-upon methodology, one that carefully and continually considers how and why elements of agile development may, or may not work well in different project and team contexts. Second, sustained, constructive customer involvement in development projects is a key factor in project success. Third, system development organizations and teams should focus on closely monitoring and managing the tempo of development projects. Core writings in agile methods promote rapid development and small iterations as critical to project success, but published experiences suggest that the appropriate tempo for a given project is always dependent on a range of project, team, and context-specific factors. Finally, the surveyed work suggests that agile development’s lack of an architectural focus often leads to poorly designed software systems, and a level of disorientation on the part of development team members.
منابع مشابه
Towards an Understanding of the Contextual Influences on Distributed Agile Software Development: a Theory of Practice Perspective
As the number of organisations involved in agile software development in the Global Software Development context is rising, there is a need for comprehensive research on distributed agile practices. Numerous papers have been published prescribing how distributed agile should be employed but do not provide enough information on the context of use. However, the successful use of a methodology dep...
متن کاملWhat Makes Agile Development Different?: a Case Study of Agile in Practice
Agile development methods have been described by proponents as being the best way to deal with the dynamic nature of software development in organizations, yet looking at agile practices of the major agile methodologies reveals many practices that have been used in the past. This work examined agile practices from the perspective of software development professionals and identified four charact...
متن کاملAgile Software Development: Adaptive Systems Principles and Best Practices
Today’s environments of increasing business change require software development methodologies that are more adaptable. This article examines how complex adaptive systems (CAS) theory can be used to increase our understanding of how agile software development practices can be used to develop this capability. A mapping of agile practices to CAS principles and three dimensions (product, process, a...
متن کاملAgile Processes: An Evaluation
Whether you belong to a start-up or an established software institution, rapidly delivering software solutions can have a significant impact on your competitive advantage. The result has been a trend toward agile processes such as eXtreme Programming, Crystal, dx, and Feature Driven Development. These processes combine some of the best practices in software development in a minimalist manner to...
متن کاملThe Challenge of Improving Software Quality: Developers' Beliefs about the Contribution of Agile Practices
We observe that systems developers who have had experience with agile development projects often express their opinion that agile methodologies are superior to plan-driven methodologies. In order to collect empirical evidence to support or discount this belief, we conducted a survey among software developers about software quality and development practices. Our study identified eight quality go...
متن کاملAgile Software Testing Technologies in a Large Scale Project
Software testing in agile development is very complex issue in the IT world. Since agile methods do not focus much on testing activities and agile software development does not include testing practices required for a quality project, the process of finding the suitable method for testing, especially for large scale projects is challenging. In this paper, we propose a concept of integrated agil...
متن کامل